home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / hard / drivr / cnetdevice.lha / cnetdevice / src / include / sanaii.i < prev   
Encoding:
Text File  |  1997-03-04  |  6.5 KB  |  178 lines

  1. ; essential SANA II equates
  2.  
  3. SANA2_MAX_ADDR_BITS     EQU     128
  4. SANA2_MAX_ADDR_BYTES    EQU     ((SANA2_MAX_ADDR_BITS+7)/8)
  5.  
  6.  STRUCTURE IOSana2Req,0
  7.     STRUCT ios2_req,io_size                  ;  0 standard ioreq
  8.      ULONG ios2_wireerror                    ; 32 wire type specific error
  9.      ULONG ios2_packettype                   ; 36 packet type
  10.     STRUCT ios2_srcaddr,sana2_max_addr_bytes ; 40 source address
  11.     STRUCT ios2_dstaddr,sana2_max_addr_bytes ; 56 dest address
  12.      ULONG ios2_datalength                   ; 72 length of packet data
  13.       APTR ios2_data                         ; 76 packet data (not touched by driver!)
  14.       APTR ios2_statdata                     ; 80 statistics data pointer
  15.       APTR ios2_buffermanagement             ; 84 see SANA-II OpenDevice adoc
  16.      LABEL IOS2_SIZE
  17.  
  18.  
  19. ;
  20. ; equates for the IO_FLAGS field
  21. ;
  22.  
  23. SANA2IOB_RAW    EQU     7               ; raw packet IO requested
  24. SANA2IOF_RAW    EQU     (1<<SANA2IOB_RAW)
  25.  
  26. SANA2IOB_BCAST  EQU     6               ; broadcast packet (received)
  27. SANA2IOF_BCAST  EQU     (1<<SANA2IOB_BCAST)
  28.  
  29. SANA2IOB_MCAST  EQU     5               ; multicast packet (received)
  30. SANA2IOF_MCAST  EQU     (1<<SANA2IOB_MCAST)
  31.  
  32. SANA2IOB_QUICK  EQU     IOB_QUICK       ; quick IO requested (0)
  33. SANA2IOF_QUICK  EQU     IOF_QUICK
  34.  
  35.  
  36. ;
  37. ; equates for OpenDevice()
  38. ;
  39.  
  40. SANA2OPB_MINE   EQU     0               ; exclusive access requested
  41. SANA2OPF_MINE   EQU     (1<<SANA2OPB_MINE)
  42.  
  43. SANA2OPB_PROM   EQU     1               ; promiscuous mode requested
  44. SANA2OPF_PROM   EQU     (1<<SANA2OPB_PROM)
  45.  
  46.  
  47. TAG_USER = $80000000
  48.  
  49. S2_Dummy        EQU     (TAG_USER+$B0000)
  50. S2_COPYTOBUFF   EQU     S2_Dummy+1
  51. S2_COPYFROMBUFF EQU     S2_Dummy+2
  52. S2_PACKETFILTER EQU     S2_Dummy+3
  53.  
  54.  
  55.  STRUCTURE SANA2DEVICEQUERY,0
  56.         ; Standard information
  57.         ULONG    S2DQ_SIZEAVAILABLE      ; 0  bytes available
  58.         ULONG    S2DQ_SIZESUPPLIED       ; 4  bytes supplied
  59.         ULONG    S2DQ_FORMAT             ; 8  this is type 0
  60.         ULONG    S2DQ_DEVICELEVEL        ; 12 this document is level 0
  61.         ; Common information
  62.         UWORD    S2DQ_ADDRFIELDSIZE      ; 16 address size in bits
  63.         ULONG    S2DQ_MTU                ; 20 maximum packet data size
  64.         ULONG    S2DQ_BPS                ; 24 line rate (bits/sec)
  65.         ULONG    S2DQ_HARDWARETYPE       ; 28 what the wire is
  66.  
  67.         ; Format specific information
  68.         LABEL   S2DQ_SIZE                ; 32
  69.  
  70.  
  71. ;
  72. ; defined SANA-II hardware types
  73. ;
  74.  
  75. S2WIRETYPE_ETHERNET             EQU     1
  76. S2WIRETYPE_IEEE802              EQU     6
  77. S2WIRETYPE_ARCNET               EQU     7
  78. S2WIRETYPE_LOCALTALK            EQU     11
  79. S2WIRETYPE_DYLAN                EQU     12
  80.  
  81. S2WIRETYPE_AMOKNET              EQU     200
  82.  
  83. S2WIRETYPE_LIANA        EQU    202
  84.  
  85. S2WIRETYPE_PPP                  EQU     253
  86. S2WIRETYPE_SLIP                 EQU     254
  87. S2WIRETYPE_CSLIP                EQU     255
  88.  
  89. S2WIRETYPE_PLIP            EQU    420
  90.  
  91.  
  92. ;============================================================
  93. ;         SANA II specific Device Commands
  94. ;
  95. ; '*' = used once, '**' = used twice, ' ' = not used at all!
  96. ;
  97.  
  98. S2_START                EQU     (CMD_NONSTD)
  99.  
  100. S2_DEVICEQUERY          EQU     (S2_START+0)   ; 9    *
  101. S2_GETSTATIONADDRESS    EQU     (S2_START+1)   ; 10   *
  102. S2_CONFIGINTERFACE      EQU     (S2_START+2)   ; 11   *
  103. S2_ADDMULTICASTADDRESS  EQU     (S2_START+5)   ; 14
  104. S2_DELMULTICASTADDRESS  EQU     (S2_START+6)   ; 15
  105. S2_MULTICAST            EQU     (S2_START+7)   ; 16
  106. S2_BROADCAST            EQU     (S2_START+8)   ; 17   *
  107. S2_TRACKTYPE            EQU     (S2_START+9)   ; 18   **
  108. S2_UNTRACKTYPE          EQU     (S2_START+10)  ; 19
  109. S2_GETTYPESTATS         EQU     (S2_START+11)  ; 20
  110. S2_GETSPECIALSTATS      EQU     (S2_START+12)  ; 21
  111. S2_GETGLOBALSTATS       EQU     (S2_START+13)  ; 22
  112. S2_ONEVENT              EQU     (S2_START+14)  ; 23
  113. S2_READORPHAN           EQU     (S2_START+15)  ; 24
  114. S2_ONLINE               EQU     (S2_START+16)  ; 25
  115. S2_OFFLINE              EQU     (S2_START+17)  ; 26
  116.  
  117. S2_END                  EQU     (S2_START+18)  ; 27
  118.  
  119.  
  120. ;
  121. ; defined errors for IO_ERROR
  122. ;
  123.  
  124. S2ERR_NO_ERROR          EQU     0       ; peachy-keen
  125. S2ERR_NO_RESOURCES      EQU     1       ; resource allocation failure
  126. S2ERR_BAD_ARGUMENT      EQU     3       ; garbage somewhere
  127. S2ERR_BAD_STATE         EQU     4       ; inappropriate state
  128. S2ERR_BAD_ADDRESS       EQU     5       ; who?
  129. S2ERR_MTU_EXCEEDED      EQU     6       ; too much to chew
  130. S2ERR_NOT_SUPPORTED     EQU     8       ; command not supported by hardware
  131. S2ERR_SOFTWARE          EQU     9       ; software error detected
  132. S2ERR_OUTOFSERVICE      EQU     10      ; driver is offline
  133. S2ERR_TX_FAILURE        EQU     11      ; transmission attempt failed
  134.  
  135. ;
  136. ; defined errors for IOS2_WIREERROR
  137. ;
  138.  
  139. S2WERR_GENERIC_ERROR    EQU     0       ; no specific info available
  140. S2WERR_NOT_CONFIGURED   EQU     1       ; unit not configured
  141. S2WERR_UNIT_ONLINE      EQU     2       ; unit is currently online
  142. S2WERR_UNIT_OFFLINE     EQU     3       ; unit is currently offline
  143. S2WERR_ALREADY_TRACKED  EQU     4       ; protocol already tracked
  144. S2WERR_NOT_TRACKED      EQU     5       ; protocol not tracked
  145. S2WERR_BUFF_ERROR       EQU     6       ; buffer mgmt func returned error
  146. S2WERR_SRC_ADDRESS      EQU     7       ; source address problem
  147. S2WERR_DST_ADDRESS      EQU     8       ; destination address problem
  148. S2WERR_BAD_BROADCAST    EQU     9       ; broadcast address problem
  149. S2WERR_BAD_MULTICAST    EQU     10      ; multicast address problem
  150. S2WERR_MULTICAST_FULL   EQU     11      ; multicast address list full
  151. S2WERR_BAD_EVENT        EQU     12      ; unsupported event class
  152. S2WERR_BAD_STATDATA     EQU     13      ; statdata failed sanity check
  153. S2WERR_IS_CONFIGURED    EQU     15      ; attempt to config twice
  154. S2WERR_NULL_POINTER     EQU     16      ; null pointer detected
  155. S2WERR_TOO_MANY_RETRIES EQU     17      ; tx failed due to too many retries
  156. S2WERR_RCVREL_HDW_ERR   EQU     18      ; driver fixable hdw error
  157.  
  158.  
  159. ;
  160. ; defined events
  161. ;
  162.  
  163. S2EVENT_ERROR       equ 1      ; error catch all
  164. S2EVENT_TX          equ 2      ; transmitter error catch all
  165. S2EVENT_RX          equ 4      ; receiver error catch all
  166. S2EVENT_ONLINE      equ 8      ; unit is in service
  167. S2EVENT_OFFLINE     equ 16     ; unit is not in service
  168. S2EVENT_BUFF        equ 32     ; buffer mgmt function error catch all
  169. S2EVENT_HARDWARE    equ 64     ; hardware error catch all
  170. S2EVENT_SOFTWARE    equ 128    ; software error catch all
  171.  
  172.  
  173. ; defined ethernet special statistics
  174.  
  175. S2SS_ETHERNET_BADMULTICAST EQU ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0000)
  176. S2SS_ETHERNET_RETRIES      EQU ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0001)
  177.  
  178.